package com.biqee.dao;

import java.util.List;

import com.biqee.model.common.BqTuanStatus;
import com.biqee.model.common.PageInfoObject;
import com.biqee.model.db.BqTuan;

/**
 * bq_tuan 访问相关DAO接口
 * @author guotao.tangt
 *
 */
public interface BqTuanDAO extends BaseDAO {

	public BqTuan read(Integer id);

	/**
	 * 查询当日划算团购列表（从start 开始，共 count 个内容）
	 * @param count
	 * @return
	 */
	public List<BqTuan> listGoodTuanOfToday(int start, int count);
	
	/**
	 * 查询当日一般团购列表（从start 开始，共 count 个内容）
	 * @param count
	 * @return
	 */
	public List<BqTuan> listCommonTuanOfToday(int start,int count);
	
	/**
	 * 查询当日不划算团购列表（从start 开始，共 count 个内容）
	 * @param count
	 * @return
	 */
	public List<BqTuan> listBadTuanOfToday(int start, int count);
	
	public Integer create(BqTuan bqTuan);
	
	public Integer update(BqTuan bqTuan);

	public BqTuan readBySiteItem(String site, String siteItemId);

	public List<BqTuan> listTuanByPage(PageInfoObject page);

	public Integer updateSelective(BqTuan bqTuan);

	public Integer delete(Integer tuanId);	
	/**
	 * 查询状态为null的记录，查询结果为按记录生成日期排练最新的记录，最多 number 条
	 * @param number
	 * @return
	 */
	public List<BqTuan> listNullStatusRecords(int start, int number);

	/**
	 * 更新指定团购活动的状态
	 * @param status
	 * @param id
	 */
	public void updateStatus(BqTuanStatus status, Integer id);
	
	/**
	 * 读取指定团购活动的状态的团购活动总数
	 * @param status
	 * @param id
	 */
	public int countStatus(BqTuanStatus status);
	
	/**
	 * 查询所有未过期的聚划算商品的itemId 列表
	 * @return
	 */
	public List<String> listAllUnExpiredJuHuaSuanItemIds();

	public int countAll();
}